package com.itzhoun.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itzhoun.entity.SysJob;
import org.quartz.SchedulerException;

/**
 * @author 周楠
 * @Date 2022/08/16/下午 11:02
 */

public interface JobService extends IService<SysJob> {

    /**
     * 新增定时任务
     * @param sysJob
     * @return
     */
    Boolean insertJob(SysJob sysJob);

    /**
     * 执行一次
     * @param job
     */
    void run(SysJob job);

    /**
     * 批量删除
     * @param jobIds
     * @return
     */
    void deleteJobByIds(Long[] jobIds);

    /**
     * 根据jobId来删除
     * @param jobId
     * @return
     */
    Boolean deleteJobById(Long jobId);

    /**
     * 定时任务状态修改
     * @param newJob
     * @return
     */
    Boolean changeStatus(SysJob newJob);

    /**
     * 暂停任务
     *
     * @param job 调度信息
     * @return 结果
     */
     Boolean pauseJob(SysJob job) throws SchedulerException;

    /**
     * 恢复任务
     *
     * @param job 调度信息
     * @return 结果
     */
    Boolean resumeJob(SysJob job) throws SchedulerException;
}
